package org.jiuling.aliyun.sms.model;

import org.jiuling.aliyun.sms.enums.SignTypeEnum;
import org.jiuling.aliyun.sms.model.enums.AuditStatusEnum;

import java.util.Date;
import java.util.List;

/**
 * 查询短信签名列表请求模型
 * @author 紫灵
 * @date 2023年02月20日 14时51分17秒
 */
public class QuerySmsSignListResponseModel extends BaseResponseModel{

    /** 页码 */
    private Integer currentPage;
    /** 每页展示的签名条数 */
    private Integer pageSize;
    /** 短信签名模型列表 */
    private List<SmsSignModel> smsSignList;
    /** 签名总数     */
    private Long totalCount;

    public Integer getCurrentPage() {
        return currentPage;
    }

    public void setCurrentPage(Integer currentPage) {
        this.currentPage = currentPage;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public List<SmsSignModel> getSmsSignList() {
        return smsSignList;
    }

    public void setSmsSignList(List<SmsSignModel> smsSignList) {
        this.smsSignList = smsSignList;
    }

    public Long getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(Long totalCount) {
        this.totalCount = totalCount;
    }

    /**
     * 短信签名模型
     */
    public static class SmsSignModel{

        /** 签名审批状态 */
        private AuditStatusEnum auditStatus;
        /** 签名场景类型 */
        private SignTypeEnum businessType;
        /** 短信签名的创建日期和时间 */
        private Date createDate;
        /** 工单ID */
        private String orderId;
        /** 审核备注 */
        private ReasonModel reason;
        /** 签名名称 */
        private String signName;

        public AuditStatusEnum getAuditStatus() {
            return auditStatus;
        }

        public void setAuditStatus(AuditStatusEnum auditStatus) {
            this.auditStatus = auditStatus;
        }

        public SignTypeEnum getBusinessType() {
            return businessType;
        }

        public void setBusinessType(SignTypeEnum businessType) {
            this.businessType = businessType;
        }

        public Date getCreateDate() {
            return createDate;
        }

        public void setCreateDate(Date createDate) {
            this.createDate = createDate;
        }

        public String getOrderId() {
            return orderId;
        }

        public void setOrderId(String orderId) {
            this.orderId = orderId;
        }

        public ReasonModel getReason() {
            return reason;
        }

        public void setReason(ReasonModel reason) {
            this.reason = reason;
        }

        public String getSignName() {
            return signName;
        }

        public void setSignName(String signName) {
            this.signName = signName;
        }

        /**
         * 审核备注
         */
        public static class ReasonModel{

            /** 审批未通过的时间 */
            private Date rejectDate;
            /** 审批未通过的备注信息 */
            private String rejectInfo;
            /** 审批未通过的原因 */
            private String rejectSubInfo;

            public Date getRejectDate() {
                return rejectDate;
            }

            public void setRejectDate(Date rejectDate) {
                this.rejectDate = rejectDate;
            }

            public String getRejectInfo() {
                return rejectInfo;
            }

            public void setRejectInfo(String rejectInfo) {
                this.rejectInfo = rejectInfo;
            }

            public String getRejectSubInfo() {
                return rejectSubInfo;
            }

            public void setRejectSubInfo(String rejectSubInfo) {
                this.rejectSubInfo = rejectSubInfo;
            }
        }
    }
}
